// pages/createTask/createTask.js
var http = require("../../utils/rquest");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    value: '',
    tempFilePaths: [],
    option1: [{
        text: '普通任务',
        value: "task_type_1"
      },
      {
        text: '中级任务',
        value: 'task_type_2'
      },
      {
        text: '高级任务',
        value: 'task_type_3'
      },
    ],
    value1: "task_type_1",
    role: true,
    // 正则
    errNum: '',
    errPrice: '', 
    errSrc: '',
    xzimg: false,
    index: 0
  },
  //selecte改变时
  selecte(e) {
    this.setData({
      value1: e.detail
    })
  },

  //删除图片
  deleimg(e) {
    let imgs = this.data.tempFilePaths
    imgs.splice(e.currentTarget.dataset.index, 1)
    this.setData({
      tempFilePaths: imgs
    })
    this.onLoad()
  },
  //发布
  create(e) {
    if(this.data.role){
      wx.showToast({
        title: '没有操作权限',
      })
      return
    }
    //数字整数非空
    var taskNum = /^[1-9]\d*$/;
    //数字加小数点非空
    var taskPrice = /^\d*\.{0,1}\d{0,1}$/;
    //任务数量验证
    if (!taskNum.test(e.detail.value.taskNum)) {
      this.setData({
        errNum: "必须是数字整数且不能为空"
      })
      return
    } else {
      this.setData({
        errNum: ""
      })
    }
    // 价格验证
    if (!taskPrice.test(e.detail.value.taskPrice)) {
      this.setData({
        errPrice: "必须是数字且不能为空"
      })
      return
    } else {
      this.setData({
        errPrice: ""
      })
    }
    //链接非空验证
    if (!e.detail.value.taskLink) {
      this.setData({
        errSrc: "请输入链接"
      })
      return
    } else {
      this.setData({
        errSrc: ""
      })
    }

    //选择图片验证
    if (this.data.tempFilePaths.length < 1) {
      this.setData({
        xzimg: true
      })
      return
    } else {
      this.setData({
        xzimg: false
      })
    }
    e.detail.value.taskType = this.data.value1
    e.detail.value.userId = wx.getStorageSync('userMsg').id
    http.taskAdd(e.detail.value)
      .then(res => {
        this.formdata(res.data.msg)
      })
  },

  //图片上传
  formdata(sysTaskid) {
    let tant = this;
    let i = this.data.index
    let leng = this.data.tempFilePaths.length;
    wx.uploadFile({
      url: "https://app.yueluo.club/5gmaiquan/task/addTaskFile",
      filePath: this.data.tempFilePaths[i], //chooseImage上传的图片
      name: 'file', //需要传给后台的图片字段名称
      formData: {
        userId: wx.getStorageSync('userMsg').id,
        sysTaskId: sysTaskid
      }, //需要传给后台的其他表单数据
      header: {
        "Content-Type": "multipart/form-data", //form-data格式
        'Accept': 'application/json',
      },
      success(res) {
        let arr = JSON.parse(res.data)
        if (arr.msg == 0) {

          if (i == leng - 1) {
            //上传完成
            tant.setData({
              index: 1
            })
            wx.showToast({
              title: '成功',
            })
            wx.reLaunch({
              url: '../index/index',
            })
          } else {
            i++
            tant.setData({
              index: i
            })
            tant.formdata(sysTaskid)
          }
        } else {
          wx.showToast({
            title: '失败',
          })
        }
      },
      fail: function(res) {
        wx.showToast({
          title: res.errMsg,
        })
      }
    })
  },

  //获取图片
  getImg() {
    let imgs = []
    var hant = this
    wx.chooseImage({
      count: 4,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        // tempFilePath可以作为img标签的src属性显示图片
        imgs = res.tempFilePaths
        if (hant.data.tempFilePaths.length == 0) {
          hant.setData({
            tempFilePaths: imgs
          })
        } else {
          hant.setData({
            tempFilePaths: hant.data.tempFilePaths.concat(imgs)
          })
        }
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    let userMsg = wx.getStorageSync('userMsg')
    if (userMsg.roleList == "role_admin" || userMsg.roleList == "role_superAdmin") {
      this.setData({
        role: false
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})